5 задание ОГЭ по информатике
Тема: "Простой линейный алгоритм для формального исполнителя"
Как обычно, минутка теории.
Алгоритм - последовательность действий, выполнение которой приводит к определенному результату.
Например, задача "Заварить чай". Алгоритмом будет являться следующая последовательность действий:
- вскипятить воду
- налить в кружку
- положить сахар
- положить чайный пакетик
- подождать 5 минут
- размешать
В информатике алгоритм - это понятный исполнителю набор правил для решения конкретного множества задач, который получает входные данные и возвращает результат за конечное время.
В пятом задании мы будем работать с формальными исполнителями, которые работают над числами (входными данными), совершают с ними некоторые арифметические операции (сложение, вычитание, умножение, деление, возведение в квадрат и т.д.) и выводят результат.
Названия исполнителя могут быть разными: Альфа, Бета, Квадратор, Омега, Вычислитель и т.д.
Название исполнителя не имеет значения.
И в зависимости от задачи, нам необходимо либо составить алгоритм, получения из одного числа другого, либо восстановить команду, которая была выполнена.
По сути все задание сводится к знаниям математики 6-8 классов.
Итак, приступим к разбору.
Задание 1.
У исполнителя Вычислитель две команды, которым присвоены номера:
1. умножь на b
2. прибавь 1
(b — неизвестное натуральное число)
Первая из них увеличивает число на экране в b раз, вторая увеличивает его на 1.
Известно, что программа 21222 переводит число 1 в число 13. Определите значение b.
Решение:
У нас известно, что некоторая программа 21222 переводит число 1 в число 13.
Выполним все команды программы (21222) последовательно:
Команда 2 прибавляет к числу 1, значит после её выполнения получаем:
1 + 1 = 2
Команда 1 умножает получившийся результат на некоторое число b:
2 * b = 2b
Команда 2 снова к результату прибавляет единицу, получим:
2b + 1
Снова выполняется команда 2:
2b + 1 + 1 = 2b + 2
И команда 2 выполняется еще раз:
2b + 2 + 1 = 2b + 3
Известно, что в результате работы всей программы исполнитель получил число 13, значит:
2b + 3 = 13
Решаем несложное линейное уравнение:
2b = 10
b = 5
Ответ: 5
Внимание! Любая команда алгоритма выполняется только после выполнения предыдущей команды.
Задание 2.
У исполнителя Альфа две команды, которым присвоены номера:
1. прибавь 2;
2. раздели на b
(b — неизвестное натуральное число; b ≥ 2).
Выполняя первую из них, Альфа увеличивает число на экране на 2, а выполняя вторую, делит это число на b. Программа для исполнителя Альфа — это последовательность номеров команд. Известно, что программа 12111 переводит число 47 в число 13. Определите значение b.
Решение:
Начальное число: 47
Конечное число: 13
Программа: 12111
Не будем уже подробно расписывать каждый шаг, и оформим все в виде таблицы:
В результате получаем следующее уравнение:
По уравнению b не должно равняться 0, но и по условию задачи сказано, что b ≥ 2. Решаем это уравнение, получим:
Ответ: 7.
Внимание: Когда в задаче мы имеем дело с командой "разделить" обязательно используем запись деления с помощью дроби.
Задание 3.
У исполнителя Альфа две команды. которым присвоены номера:
1. Вычти b;
2. Умножь на 5.
(b — неизвестное натуральное число).
Выполняя первую из них, Альфа уменьшает число на экране на b, а выполняя вторую, умножает это число на 5. Программа для исполнителя Альфа — это последовательность номеров команд. Известно, что программа 21121 переводит число 2 в число 17. Определите значение b.
Решение:
Начальное число: 2
Конечное число: 17
Программа: 21121
Решение в виде таблицы:
Здесь очень внимательно нужно посмотреть на 4 действие:
Мы выполняем команду 2 (умножь на 5) для всего получившегося выражения. Очень важно не забыть про это и поставить скобки.
Далее решаем получившееся уравнение:
Ответ: 3.
Задание 4.
У исполнителя Квадратор две команды, которым присвоены номера:
1. возведи в квадрат
2. прибавь b
(b — неизвестное натуральное число)
Первая из них возводит число на экране во вторую степень, вторая прибавляет к числу b. Программа для исполнителя — это последовательность номеров команд.
Известно, что программа 12212 переводит число 2 в число 37. Определите значение b.
Решение:
В задании у нас появляется команда "возведи в квадрат". Не забываем, что когда мы выполняем эту команду, то возводим в квадрат все выражение, получившееся на предыдущем шаге.
Начальное число: 2
Конечное число: 37
Программа: 12212
Видим, что на 4 шаге мы все выражение возвели в квадрат. Получим уравнение:
А это квадратное уравнение. Здесь нам потребуются знания 8 класса. Решим его:
Мы получили 2 корня. Но по условию задачи b - натуральное число. Тогда получаем единственный ответ: 1
Ответ: 1
Задание 5.
У исполнителя Делитель две команды, которым присвоены номера:
1. раздели на 2
2. вычти 1
Первая из них уменьшает число на экране в 2 раза, вторая уменьшает его на 1. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из чиcла 65 числа 4, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 12112 – это алгоритм:
раздели на 2
вычти 1
раздели на 2
раздели на 2
вычти 1,
который преобразует число 42 в число 4.)
Если таких алгоритмов более одного, то запишите любой из них.
Решение:
Здесь мы имеем дело с обратным заданием, нам необходимо составить программу.
Начальное число: 65
Конечное число: 4
Понятно, что мы можем использовать много раз только команду 2 (вычти 1) и получить нужный результат. Но у нас есть ограничение: программа должна содержать не более 5 команд.
Удобней всего перебирать возможные варианты начиная с той команды, которая больше меняет число. Здесь это команда 1 (раздели на 2).
Задаем себе вопрос: "можем ли мы 65 поделить на 2". Ответ: нет (мы работаем только с целыми числами). Значит первая команда будет в любом случае 2 (вычти 1):
Далее мы уже можем выполнять команду 1 (раздели на 2):
Уже заметно, чтобы получить 4, нужно еще 3 раза выполнить команду 1 (раздели на 2):
Осталось только записать последовательность команд: 21111.
Ответ: 21111.
Задание 6. (повышенной сложности)
У исполнителя Сигмы две команды, которым присвоены номера:
1. вычти 1
2. припиши справа b
(b — неизвестная цифра)
Выполняя первую из них, Сигма уменьшает число на экране на 1, а выполняя вторую, приписывает к этому числу справа b.
Алгоритм для исполнителя Сигма — это последовательность номеров команд.
Известно, что алгоритм 12121 переводит число 3 в число 244.
Определите число b.
Решение:
Важно определить действие команды 2 (припиши справа b).
Пример: пусть b=3, применим эту команду к числу 4. Тогда 4*10 + 3 = 43.
Действие приписать справа b — это значит умножить число на 10 и прибавить b.
Исходное число: 3
Конечное число: 244
Программа 12121
Решим уравнение:
Ответ: 5.